//package com.learn.test;
//
//import java.util.concurrent.CountDownLatch;
//import java.util.concurrent.locks.Lock;
//
///**
// * @author shenkaiwen5
// * @version 1.0
// * @date 2021-05-18
// */
//public class ZkLock {
//    static int inventory = 1;
//    private static final int NUM = 10;
//
//    private static CountDownLatch cdl = new CountDownLatch(NUM);
//
//    public static void main(String[] args) {
//        try {
//            for (int i = 0; i < NUM; i++) {
//                new Thread(new Runnable() {
//                    @Override
//                    public void run() {
//                        MyZk zk = new MyZk();
//                        try {
//                            cdl.await();
//                            zk.lock();
//                            if (inventory > 0) {
//                                Thread.sleep(1);
//                                inventory--;
//                            }
//                            System.out.println(inventory);
//                        } catch (InterruptedException e) {
//                            e.printStackTrace();
//                        } finally {
//                            zk.unlock();
//                            System.out.println("释放锁");
//                        }
//                    }
//                }).start();
//                cdl.countDown();
//            }
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//}
